package com.isoftstone.mapper;

import com.isoftstone.pojo.PaymentRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PaymentRecordMapper {
    int insert(PaymentRecord paymentRecord);

    // 根据ID删除缴费记录
    int deleteById(Integer id);

    // 更新缴费记录
    int update(PaymentRecord paymentRecord);

    // 根据ID查询缴费记录
    PaymentRecord selectById(Integer id);

    // 查询所有缴费记录
    List<PaymentRecord> selectAll();

    // 根据学生ID查询缴费记录
    List<PaymentRecord> selectByStudentId(String studentNumber);

    // 根据缴费项目名称查询缴费记录
    List<PaymentRecord> selectByItemName(@Param("ItemName") String ItemName);

    // 根据支付状态查询缴费记录
    List<PaymentRecord> selectByStatus(String status);

    // 根据支付方式查询缴费记录
    List<PaymentRecord> selectByPaymentMethod(String paymentMethod);


    int checkPaymentRecord(@Param("studentNumber") String studentNumber, @Param("itemName") String itemName);

    PaymentRecord selectUnpaid(@Param("studentNumber") String studentNumber,
                               @Param("itemName") String itemName);

    int updateToPaid(PaymentRecord record);



    List<PaymentRecord> selectUnpaidList(String studentNumber);

    void insertUnpaid(PaymentRecord newRec);
}
